home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Tools 2
/
Amiga Tools 2.iso
/
tex
/
macros
/
source
/
contrib
/
supported
/
feynmf
/
feynmp.sty
< prev
next >
Wrap
Text File
|
1995-03-15
|
9KB
|
226 lines
%%
%% This is file `feynmp.sty', generated
%% on <1995/3/4> with the docstrip utility (2.2i).
%%
%% The original source files were:
%%
%% feynmf.dtx (with options: `style,mp')
%%
%% Copyright (C) 1989, 1990, 1992-1995 by Thorsten.Ohl@Physik.TH-Darmstadt.de
%%
%% This file is NOT the source for feynmf, because almost all comments
%% have been stripped from it. It is NOT the preferred form of feynmf
%% for making modifications to it.
%%
%% Therefore you can NOT redistribute and/or modify THIS file. You can
%% however redistribute the complete source (feynmf.dtx and feynmf.ins)
%% and/or modify it under the terms of the GNU General Public License as
%% published by the Free Software Foundation; either version 2, or (at
%% your option) any later version.
%%
%% Feynmf is distributed in the hope that it will be useful, but
%% WITHOUT ANY WARRANTY; without even the implied warranty of
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
%% GNU General Public License for more details.
%%
%% You should have received a copy of the GNU General Public License
%% along with this program; if not, write to the Free Software
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% \CheckSum{553}
%% \CharacterTable
%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%% Digits \0\1\2\3\4\5\6\7\8\9
%% Exclamation \! Double quote \" Hash (number) \#
%% Dollar \$ Percent \% Ampersand \&
%% Acute accent \' Left paren \( Right paren \)
%% Asterisk \* Plus \+ Comma \,
%% Minus \- Point \. Solidus \/
%% Colon \: Semicolon \; Less than \<
%% Equals \= Greater than \> Question mark \?
%% Commercial at \@ Left bracket \[ Backslash \\
%% Right bracket \] Circumflex \^ Underscore \_
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\NeedsTeXFormat{LaTeX2e}
{\def\RCS#1#2\endRCS{%
\ifx$#1%
\@RCS $#2 \endRCS
\else
\@RCS $*: #1#2$ \endRCS
\fi}%
\def\@RCS $#1: #2,v #3 #4 #5 #6$ \endRCS{%
\gdef\filename{#2}%
\gdef\fileversion{v#3}%
\gdef\filedate{#4}%
\gdef\docdate{#4}}%
\RCS feynmf.dtx,v 1.10 1995/02/18 16:42:18 ohl Exp \endRCS}%
\ProvidesPackage{feynmp}[\filedate\space LaTeX2e package]
\typeout{Package: `feynmp'
\fileversion\space <\filedate> (tho) PRELIMINARY TEST RELEASE}
\wlog{English documentation \@spaces<\docdate> (tho)}
\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{graphicx}}
\ProcessOptions
\RequirePackage{graphicx}
\let\mdqrestore\relax
\@ifundefined{mdqoff}{}{%
\mdqoff
\let\mdqrestore\mdqon}
\newwrite\@outfmf
\def\fmfcmd#1{%
\immediate\write\@outfmf{#1}\ignorespaces}
{\catcode`\%=11\gdef\p@rcent{%}}
\edef\fmf@fileversion{\fileversion}
\def\fmffile#1{%
\def\thefmffile{#1}%
\equaltojobname{\thefmffile}{%
\errhelp={The argument of \fmffile MUST NOT be identical to the^^J%
name of your main input file! I will use fmfdefault.mf^^J%
this time around, but you'd better fix your code now!}%
\errmessage{Invalid arument of \string\fmffile!}%
\def\thefmffile{fmfdefault}}{}%
\immediate\openout\@outfmf=\thefmffile.mp\relax
\fmfcmd{\p@rcent\space \thefmffile.mp -- do not edit, %
generated automatically by \jobname.tex^^J%
input feynmp^^J%
require_RCS_revision "\expandafter\@gobble\fmf@fileversion";}%
\setcounter{fmfchar}{0}}
\let\thefmffile\relax
\newcounter{fmfchar}
\def\equaltojobname#1#2#3{%
\edef\@tempa{#1}%
\edef\@tempa{\meaning\@tempa}%
\edef\@tempb{\jobname}%
\edef\@tempb{\meaning\@tempb}%
\ifx\@tempa\@tempb
#2
\else
#3
\fi}
\def\endfmffile{%
\fmfcmd{\p@rcent\space the end.^^J%
end.^^J%
endinput;}%
\let\thefmffile\relax
\immediate\closeout\@outfmf}
{\catcode`\#=11\gdef\sh@rp{#}}
\def\fmf@char#1#2{%
\ifx\thefmffile\relax
\errhelp={Outside a fmffile environment, I have no clue as to where^^J%
the METAFONT commands should go. I will use fmfdefault.mf^^J%
for this character, but you'd better fix your code!}%
\errmessage{I detected a fmfchar environment outside of fmffile}%
\fmffile{fmfdefault}
\fi
\global\expandafter\advance\csname c@fmfchar\endcsname \@ne
\fmfcmd{beginchar(\thefmfchar, #1*\the\unitlength\sh@rp, %
#2*\the\unitlength\sh@rp, 0);^^J%
"feynmf: \thefmfchar";}%
\fmfcmd{LaTeX_unitlength:=\the\unitlength;}%
\fmfinit
\fmfpen{thin}}
\def\fmfchar(#1,#2){%
\fmf@char{#1}{#2}%
\leavevmode
\IfFileExists{\thefmffile.\thefmfchar}%
{\includegraphics[type=eps,ext=\thefmfchar,read=\thefmfchar]%
{\thefmffile}}%
{\typeout{%
feynmp: File \thefmffile.\thefmfchar\space not found:^^J%
feynmp: Process \thefmffile.mp with MetaPost and then %
reprocess this file.}}%
\ignorespaces}
\def\endfmfchar{%
\fmfposition
\fmfdraw
\fmfcmd{endchar;}}
\@namedef{fmfchar*}(#1,#2){%
\begin{picture}(#1,#2)
\fmf@char{#1}{#2}%
\IfFileExists{\thefmffile.\thefmfchar}%
{\put(0,0){\includegraphics[type=eps,ext=\thefmfchar,read=\thefmfchar]%
{\thefmffile}}}%
{\typeout{%
feynmp: File \thefmffile.\thefmfchar\space not found:^^J%
feynmp: Process \thefmffile.mp with MetaPost and then %
reprocess this file.}}%
\ignorespaces}
\@namedef{endfmfchar*}{%
\endfmfchar
{\catcode`\%=14\relax
\InputIfFileExists{\thefmffile.t\thefmfchar}{}{%
\typeout{%
feynmf: Label file \thefmffile.t\thefmfchar\space not found:^^J%
feynmf: Process \thefmffile.mp with MetaPost and then %
reprocess this file.}}}%
\end{picture}}
\def\fmfframe(#1,#2)(#3,#4)#5{%
\leavevmode
\hbox{\vbox{\vskip#2\unitlength\par
\hbox{\hskip#1\unitlength#5\hskip#3\unitlength}\par
\vskip#4\unitlength}}}
\def\fmfpen#1{\fmfcmd{pickup pencircle scaled #1;}}
\def\fmfwizard{\fmfcmd{feynmfwizard := true;}}
\def\fmfnowizard{\fmfcmd{feynmfwizard := false;}}
\def\fmfshrink#1{\fmfcmd{shrink (#1);}}
\def\endfmfshrink{\fmfcmd{endshrink;}}
\def\fmfinit{\fmfcmd{vinit;}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\fmf#1#2{\fmfcmd{vconnect ("#1", #2);}}
\def\fmfcyclen#1#2#3{\fmfcmd{vcyclen ("#1", #2, #3);}}
\def\fmfrcyclen#1#2#3{\fmfcmd{vrcyclen ("#1", #2, #3);}}
\def\fmfforce#1#2{\fmfcmd{vforce ((#1),#2);}}
\def\fmfshift#1#2{\fmfcmd{vshift((#1),#2);}}
\def\fmffixed#1#2{\fmfcmd{vconstraint ((#1), #2);}}
\def\fmflabel#1#2{\fmfcmd{vlabel ("#1", #2);}}
\def\fmfv#1#2{\fmfcmd{vvertex ("#1", #2);}}
\def\fmfvn#1#2#3{\fmfcmd{vvertexn ("#1", #2, #3);}}
\def\fmfblob#1#2{\fmfcmd{vblob ((#1),#2);}}
\def\fmfdot#1{\fmfcmd{vdot (#1);}}
\def\fmfblobn#1#2{\fmfcmd{vblobn (#1, #2);}}
\def\fmfdotn#1#2{\fmfcmd{vdotn (#1, #2);}}
\def\fmfleft#1{\fmfcmd{vleft(#1);}}
\def\fmfright#1{\fmfcmd{vright(#1);}}
\def\fmfbottom#1{\fmfcmd{vbottom(#1);}}
\def\fmftop#1{\fmfcmd{vtop(#1);}}
\let\fmfincoming\fmfleft
\let\fmfoutgoing\fmfright
\def\fmfsurround#1{\fmfcmd{vsurround(#1);}}
\def\fmfleftn#1#2{\fmfcmd{vleftn(#1,#2);}}
\def\fmfrightn#1#2{\fmfcmd{vrightn(#1,#2);}}
\def\fmfbottomn#1#2{\fmfcmd{vbottomn(#1,#2);}}
\def\fmftopn#1#2{\fmfcmd{vtopn(#1,#2);}}
\let\fmfincomingn\fmfleftn
\let\fmfoutgoingn\fmfrightn
\def\fmfsurroundn#1#2{\fmfcmd{vsurroundn(#1,#2);}}
\def\fmffor#1#2#3#4{\fmfcmd{for #1 = #2 step #3 until #4:}}
\def\endfmffor{\fmfcmd{endfor}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\fmfposition{\fmfcmd{vposition;}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\fmfdraw{\fmfcmd{vdraw;}}
\def\fmfL(#1,#2,#3)#4{\put(#1,#2){\makebox(0,0)[#3]{#4}}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\fmfdisplay{\fmfcmd{show_all_diagrams (100,100);}}
\def\fmfstopdisplay{\fmfcmd{showstopping:=1;}\fmfdisplay}
\mdqrestore
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\endinput
%%
%% End of file `feynmp.sty'.